﻿using Newtonsoft.Json;
using System;
using System.IO;

namespace TempHumidityMonitor {
    public static class JsonHelper {
        private const string ConfigFile = "config.json";

        /// <summary>
        /// 从文件加载配置
        /// </summary>
        public static AppConfig LoadConfig() {
            try {
                if (File.Exists(ConfigFile)) {
                    string json = File.ReadAllText(ConfigFile);
                    return JsonConvert.DeserializeObject<AppConfig>(json) ?? new AppConfig();
                }
            }
            catch (Exception ex) {
                // 记录日志或忽略，返回默认配置
                System.Diagnostics.Debug.WriteLine($"加载配置失败: {ex.Message}");
            }
            return new AppConfig(); // 返回默认配置
        }

        /// <summary>
        /// 保存配置到文件
        /// </summary>
        public static void SaveConfig(AppConfig config) {
            try {
                string json = JsonConvert.SerializeObject(config, Formatting.Indented);
                File.WriteAllText(ConfigFile, json);
            }
            catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine($"保存配置失败: {ex.Message}");
                // 通常这里会弹出提示，但为避免干扰主流程，仅记录日志
            }
        }
    }
}